package com.cskaoyan.javase.introduction;

/**
 * @description: 测试递归调用深度
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

public class TestRecursionDepth {
    public static void main(String[] args) {
        sum(0);
    }

    public static int sum(int a) {
        //int b = 1000;
        try {  //try代码块包裹的语句是可能会产生错误的语句，一旦这里产生错误就会被catch捕获
            return a + sum(a - 1);
        } catch (StackOverflowError error) {
            //如果try中产生的错误是catch括号中的错误，然后就会被捕获，就会执行catch中的代码
            //NullPointerException
            System.out.println("sum方法" + a + "层");
        }
        return 0;
    }
}
